﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using BussinessLogicTecnoPez.Produccion.FaenamientoEnvasado;
using BussinessLogicTecnoPez;
using BussinessLogicTecnoPez.Produccion.Producto;

public partial class Modules_FaenamientoEnvasado_ProductoObtenido : System.Web.UI.Page
{
    private ProductosPlanFaenamientoEnvasado ProductosPlan
    {
        get { return Session["productosRegistroRealizacionPlan"] as ProductosPlanFaenamientoEnvasado; }
        set { Session["productosRegistroRealizacionPlan"] = value; }
    }

    private int idProducto;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (this.Request.QueryString["id"] == null || this.Request.QueryString["id"] == string.Empty)
        {
            idProducto = 0;
            TPPProducto.Enable = true;
            lblCantidadEsperada.Text = "0";
        }
        else
        {
            idProducto = Convert.ToInt32(this.Request.QueryString["id"]);
            TPPProducto.Enable = false;
        }

        this.TPPProducto.ObjType = typeof(Producto);
        this.cmdCancelar.OnClientClick = "window.close(); return false;";

        if (!IsPostBack)
        {
            SetData();
        }
        else
        {
            if (TPPProducto.ItemSelected != null)
            {
                lblUnidadMedida.Text = (TPPProducto.ItemSelected as Producto).UnidadMedida.ToString();
            }
        }
    }
    private void SetData()
    {
        if (idProducto != 0)
        {
            if (this.ProductosPlan != null && this.ProductosPlan.ItemList.Count > 0)
            {
                foreach (ProductosFaenamiento objProd in this.ProductosPlan.ItemList)
                {
                    if (objProd.Producto.IdProducto == idProducto)
                    {
                        TPPProducto.ItemSelected = objProd.Producto;
                        lblUnidadMedida.Text = objProd.Producto.UnidadMedida.ToString();
                        lblCantidadEsperada.Text = objProd.CantidadEsperada.ToString();

                        if (objProd.CantidadObtenida == Convert.ToDecimal("0"))
                            txtCantidadObtenida.Text = "";
                        else
                            txtCantidadObtenida.Text = objProd.CantidadObtenida.ToString();
                        break;
                    }
                }
            }
        }
    }
    protected void cmdAceptar_Click(object sender, EventArgs e)
    {
        Producto objProducto = TPPProducto.ItemSelected as Producto;
        decimal decCantidadObtenida = Convert.ToDecimal(txtCantidadObtenida.Text);
        bool blnExist = false;
        if (this.ProductosPlan != null && this.ProductosPlan.ItemList.Count > 0)
        {
            foreach (ProductosFaenamiento objProd in this.ProductosPlan.ItemList)
            {
                if (objProd.Producto.IdProducto == objProducto.IdProducto)
                {
                    if (objProd.Producto.IdProducto != idProducto)
                    {
                        _lblError.Text = "El producto ya ha sido agregado como producto esperado.";
                        return;
                    }
                    else
                    {
                        objProd.CantidadObtenida = decCantidadObtenida;
                        blnExist = true;
                        break;
                    }
                }
            }
            if (!blnExist)
            {
                this.ProductosPlan.ItemList.Add(new ProductosFaenamiento(objProducto, Convert.ToDecimal(lblCantidadEsperada.Text), decCantidadObtenida));
            }
        }
        else
        {
            this.ProductosPlan.ItemList.Add(new ProductosFaenamiento(objProducto, Convert.ToDecimal(lblCantidadEsperada.Text), decCantidadObtenida));
        }
        
        this.ClientScript.RegisterClientScriptBlock(this.GetType(), "test", "window.opener.LoadProducto(); window.close();", true);
    }
}
